#ifndef _COMMAND__H
#define _COMMAND__H

#include  <stdint.h>
#include "config.h"
#include "JA_Protocol.h"


typedef enum {
	ConfigCommand_GetInfo = 0x20, //查询信息
	Motor_Rotate=0x80,           //控制电机运动
	Motor_Abolish=0x81,          //终止一切动作
	Motor_GoLocation=0x82,       //指定位置
	Motor_QueryLocation=0x83,    //查询位置信息
	Motor_QueryRunState=0x84,    //查询电机运行信息
  Motor_QueryPID=0x85,
	Motor_SetPID_Velocity=0x86,  //设置速度环PID参数
	Motor_SetPID_Angle=0x87,     //设置位置环PID
	Motor_SetPID_Current=0x88    //设置电流环PID
}Motor_Command;

/***********模块信息查询*************/
typedef struct 
{
	GeneralConfigInfo_Def_t     solidify;              //固化信息
	Version_Def_t               software_version;      //软件版本
	Date_Def_t                  build_date;            //编译日期
	uint16_t                    dev_type;            //设备类型
}Command_info_t;

typedef struct
{
	uint8_t           model;
	int32_t           value;
}EC_I_30_Run_t;

typedef struct
{
	uint8_t           state;
	int32_t           velocity; 
	float             angle;
}Command_MotorRunState_t;
/****************
PID
***************/
typedef struct
{
	PID_t             velocity;
	PID_t             angle;
	PID_t             current;
}Command_PID_t;
JA_BytesArray JA_MotorParse(JA_Protocol protocol,uint8_t *command_buf);
#endif
